library(pttrobo)
library(tidyverse)

BKT Suomi

ptt_data_robo_l("StatFin/kan/ntp/statfin_ntp_pxt_132h.px") |>
  filter(
    taloustoimi == "B1GMH Bruttokansantuote markkinahintaan",
    tiedot == "Kausitasoitetun ja työpäiväkorjatun sarjan volyymin muutos vuodentakaisesta, %",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "BKT") |>
  ptt_plot(
    grouping = tiedot,
    title = "BKT Suomi",
    subtitle = "Vuosimuutos",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    ## rangeslider = "2015-01-01",
    zeroline = T
  ) |>
  ptt_plot_add_prediction(ennuste_data)
#> [1] "widget-43479959317483"

Vienti ja tuonti

ptt_data_robo_l("StatFin/kan/ntp/statfin_ntp_pxt_132h.px") |>
  filter(
    taloustoimi %in% c("P7R Tavaroiden ja palvelujen tuonti, tulona",
                       "P6K Tavaroiden ja palvelujen vienti, menona"),
    tiedot == "Kausitasoitetun ja työpäiväkorjatun sarjan volyymin muutos vuodentakaisesta, %",
    time >= "2014-01-01"
  ) |>
  mutate(
    tiedot = recode(taloustoimi,
                    "P7R Tavaroiden ja palvelujen tuonti, tulona" = "Tuonti",
                    "P6K Tavaroiden ja palvelujen vienti, menona" = "Vienti"
                    )
  ) |>
  ptt_plot(
    grouping = tiedot,
    title = "Vienti ja tuonti",
    subtitle = "%, volyymin vuosimuutos",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    zeroline = T
  ) |>
  ptt_plot_add_prediction(ennuste_data)
#> [1] "widget-582331269048154"

Yksityinen kulutus

ptt_data_robo_l("StatFin/kan/ntp/statfin_ntp_pxt_132h.px") |>
  filter(
    taloustoimi == "P3KS14_S15 Yksityiset kulutusmenot, menona",
    tiedot == "Kausitasoitetun ja työpäiväkorjatun sarjan volyymin muutos vuodentakaisesta, %",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Yksityinen kulutus") |>
  ptt_plot(
    grouping = tiedot,
    title = "Yksityinen kulutus",
    subtitle = "Vuosimuutos",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    ## rangeslider = "2015-01-01",
    zeroline = T
  ) |>
  ptt_plot_add_prediction(ennuste_data)
#> [1] "widget-658616523491219"
## p |> ptt_plot_create_widget()

Julkinen kulutus

ptt_data_robo_l("StatFin/kan/ntp/statfin_ntp_pxt_132h.px") |>
  filter(
    taloustoimi == "P3KS13 Julkiset kulutusmenot, menona",
    ## tiedot == "Kausitasoitetun ja työpäiväkorjatun sarjan volyymin muutos vuodentakaisesta, %",
    tiedot == "Trendisarjan volyymin muutos vuodentakaisesta, %",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Julkinen kulutus") |>
  ptt_plot(
    grouping = tiedot,
    title = "Julkinen kulutus",
    subtitle = "Vuosimuutos",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    zeroline = T
  ) |>
  ptt_plot_add_prediction(ennuste_data)
#> [1] "widget-477151994360611"

Investoinnit

ptt_data_robo_l("StatFin/kan/ntp/statfin_ntp_pxt_132h.px") |>
  filter(
    taloustoimi %in% c("P51K Kiinteän pääoman bruttomuodostus, menona",
                       "P51KXS13 Yksityiset investoinnit",
                       "P51KS13 Julkiset investoinnit"),
    tiedot == "Kausitasoitetun ja työpäiväkorjatun sarjan volyymin muutos vuodentakaisesta, %",
    time >= "2014-01-01"
  ) |>
  mutate(
    tiedot = recode(taloustoimi,
                    "P51K Kiinteän pääoman bruttomuodostus, menona" = "Investoinnit",
                    "P51KXS13 Yksityiset investoinnit" = "Yksityiset investoinnit",
                    "P51KS13 Julkiset investoinnit" = "Julkiset investoinnit"
                    )
  ) |>
  ptt_plot(
    grouping = tiedot,
    title = "Investoinnit",
    subtitle = "%, volyymin vuosimuutos",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    zeroline = T
  ) |>
  ptt_plot_add_prediction(ennuste_data)##  |>
#> [1] "widget-508623499888927"
## ptt_plot_create_widget("investoinnit")

Työllisyysaste

ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135z.px") |>
  filter(
    tiedot == "Työllisyysaste, 15-64-vuotiaat, %, trendi",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Työllisyysaste") |>
  ptt_plot(
    grouping = tiedot,
    title = "Työllisyysaste",
    subtitle = "%, trendi",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE
  ) |>
  ptt_plot_add_prediction(ennuste_data)##  |>
#> [1] "widget-40669297426939"
## ptt_plot_create_widget("")

Työttömyysaste

ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135z.px") |>
  filter(
    tiedot == "Työttömyysaste, %, trendi",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Työttömyysaste") |>
  ptt_plot(
    grouping = tiedot,
    title = "Työttömyysaste",
    subtitle = "%, trendi",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE
  ) |>
  ptt_plot_add_prediction(ennuste_data)##  |>
#> [1] "widget-4709748767782"
## ptt_plot_create_widget("")

Työvoima

ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135y.px") |>
  filter(
    tiedot == "Työvoima, 1000 henkilöä",
    time >= "2014-01-01",
    sukupuoli == "Yhteensä",
    ikaluokka == "15 - 74"
  ) |>
  mutate(tiedot = "Työvoima") |>
  ptt_plot(
    grouping = tiedot,
    title = "Työvoima",
    subtitle = "1000 henkilöä",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE
  ) |>
  ptt_plot_add_prediction(ennuste_data, hovertext = list(rounding = 0,
        unit = "(1000 henkilöä)", extra = "(ennuste)"))  ##  |>
#> [1] "widget-60981016792357"
## ptt_plot_create_widget("")

Työlliset

ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135z.px") |>
  filter(
    tiedot == "Työlliset, 1000 henkilöä, trendi",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Työlliset") |>
  ptt_plot(
    grouping = tiedot,
    title = "Työlliset",
    subtitle = "1000 henkilöä, trendi",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE
  ) |>
  ptt_plot_add_prediction(ennuste_data, hovertext = list(rounding = 0,
        unit = "(1000 henkilöä)", extra = "(ennuste)"))
#> [1] "widget-201799027621746"

Työlliset ja työvoima

# yhdistetään datasetit:
tyovoima <-
  ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135y.px") |>
  filter(
    tiedot == "Työvoima, 1000 henkilöä",
    time >= "2014-01-01",
    sukupuoli == "Yhteensä",
    ikaluokka == "15 - 74"
  ) |>
  mutate(tiedot = "Työvoima") |>
  select(tiedot, time, value)

tyolliset <-
  ptt_data_robo_l("StatFin/tym/tyti/kk/statfin_tyti_pxt_135z.px") |>
  filter(
    tiedot == "Työlliset, 1000 henkilöä, trendi",
    time >= "2014-01-01"
  ) |>
  mutate(tiedot = "Työlliset")

p_tyovoima_tyolliset <-
  rbind(tyovoima, tyolliset) |>
  mutate(value = value / 1000) |>
  ptt_plot(
    grouping = tiedot,
    title = "Työlliset ja työvoima",
    subtitle = "Miljoonaa, trendi",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    zeroline = T
  ) |>
  ptt_plot_add_prediction(
    ennuste_data,
    hovertext = list(rounding = 2,
                     unit = "(Miljoonaa henkilöä)",
                     extra = "(ennuste)"),
    value_multiplier = 0.001
  )
#> [1] "widget-767857924336568"

palkansaajat <-
  ptt_data_robo_l("StatFin/tym/tyti/nj/statfin_tyti_pxt_137l.px") |>
  filter(
    tiedot == "Palkansaajat, 1000 henkilöä",
    time >= "2014-01-01",
    toimiala == "Yhteensä"
  ) |>
  mutate(value = value / 1000)

# yhdistetään erikseen palkansaajat, koska tästä ei ennustetta.
p_tyovoima_tyolliset  |>
  plotly::add_trace(data=palkansaajat, y = ~value,
                    text = "Palkansaajat",
                    type = "scatter", mode="lines",
                    line = list(width = 4),
                    color = "#C36B0D",
                    hovertemplate = pttrobo:::ptt_plot_hovertemplate(
                      list(rounding = 2, unit = "(Miljoonaa henkilöä)", extra = "",
                           timeformat = "Quarterly")),
                    name="Palkansaajat") |>
  plotly::layout(
    yaxis = list(range = c(1.9,3))
  )
#> Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels

#> Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels

Pitkät korot

ptt_data_robo_l("tidy/10yield") |>
  drop_na() |>
  filter(time >= "2008-01-01") |>
  select(maa, time, value) |> ## TODO bug in ptt_plot
  ptt_plot(
    grouping = maa,
    title = "Työlliset ja työvoima",
    subtitle = "Miljoonaa, trendi",
    caption =  "Lähde: Tilastokeskus ja PTT",
    rangeslider = FALSE,
    hovertext = list(rounding = 2),
    zeroline = T
  )##  |> ## TODO xlsx-tiedostossa eri nimi kuin mikä tulee legendiin
#> [1] "widget-626675908919424"
## ptt_plot_add_prediction( ## ennuste_data ## )